#-*- coding: utf-8 -*-
#autor: 11236 6039
#data: 3 de outubro de 2014
#obs.: aula3
#


#1
print "\n\n"
print "1\n"

d1 = {'Programacao 1' : 15 ,'Programacao 2' : 13 ,'Matematica' : 12 ,'Linguagens de Programacao' : 17, 'Sistemas Operativos' :14}
total_media=0.0
media = 0.0
c=0
for valor in d1.itervalues():
	total_media += valor
	c += 1
media= total_media
media /=c

print "media = ", media
for chave, valor in d1.iteritems():
	print chave, valor


print "\n\n"
print "2\n"


#2
import random


def gerar_medias():
	yield random. randint(0,20)  
	
def valor_nota():
	media1=99
	media2=total_media
	c1=c

	while (media1 <12) or (media1 >16):
		media2=total_media
		c1=c
		for y in gerar_medias():
			media2 +=y
			c1+=1
		media2 /= c1
		media1=media2
	return y	
	
d3= [] 
for i in range(3):
	d3.append(valor_nota())
	total_media+=d3[i]
	c+=1
d2 = {'Programacao 1' : 15 ,'Programacao 2' : 13 ,'Matematica' : 12 ,'Linguagens de Programacao' : 17, 'Sistemas Operativos' :14}

d2 [ 'att' ] = d3[0]			
d2 [ 'direito' ] = d3[1]
d2 [ 'algebra' ] = d3[2]


for chave, valor in d2.iteritems():
	print chave, valor

total_media=0.0
c=0
for valor in d2.itervalues():
	total_media += valor
	c += 1
media= total_media
media /=c

print "media = ", media





#4
print "\n\n"
print "4\n"

b=[] 
for valor in d2.itervalues():
	b.append(valor)

def contagem_regressiva(a,total1=0.0):
	
	if a==0:
		print "media com recursividade = ",total1/len(d2)
		
	else:
		total1 += b[a-1]
		
		contagem_regressiva(a-1,total1)

contagem_regressiva(len(d2))	



#5
print "\n\n"
print "5\n"

lista =[]

from random import *

for i in range (0,1000):
	lista.append((randint(0, 10)))
conj1 = set ( lista )
print conj1


#6
print "\n\n"
print "6\n"

from collections import Counter
a=Counter(lista)
print a
